As the value and use of information continues to increase, individuals and businesses continually seek additional ways to process and store information. One option available to users of information is an information handling system. An information handling system generally processes, compiles, stores, and/or communicates information or data for business, personal, or other purposes, thereby allowing users to take advantage of the value of the information. Because technology and information handling needs and requirements vary between different users or applications, information handling systems may also vary with regard to the kind of information that is handled, how the information is handled, how much information is processed, stored, or communicated, and how quickly and efficiently the information may be processed, stored, or communicated. The variations in information handling systems allow for information handling systems to be general or configured for a specific user or specific use, including such uses as financial transaction processing, airline reservations, enterprise data storage, or global communications. In addition, information handling systems may include a variety of hardware and software components that may be configured to process, store, and communicate information and may include one or more computer systems, data storage systems, and networking systems.
Examples of information handling systems, such as computers, including servers and workstations, are often grouped in clusters to perform specific tasks. A server cluster is a group of independent servers that is managed as a single system and is characterized by higher availability, manageability, and scalability, as compared with groupings of unmanaged servers. A server cluster typically involves the configuration of a group of independent servers such that the servers appear in the network as a single machine or unit. Server clusters are often managed as a single system, share a common namespace on the network, and are designed specifically to tolerate component failures and to support the addition or subtraction of components in the cluster in a transparent manner. At a minimum, a server cluster includes two or more servers that are connected to one another by a network. The server cluster may include software driven methods by which each client of the server cluster may access the data stored in or controlled by a server of the server cluster. One software application that is used to manage the operation of a server cluster is Microsoft Cluster Service (MSCS), which is produced by the Microsoft Corporation of Redmond, Wash.
When using a file system such as the JFFS2 file system for applications like universal serial bus (USB) keys, the file system typically contains a wear-leveling feature to reduce the number of write cycles to a given cell and increase the life of a flash read only memory (ROM). With moderate USB key usage, the USB key can wear out in as little as 12-18 months. Remote access solutions, like a remote access card, may contain a feature such as persistent virtual memory, which is where firmware for the remote access card (RAC) creates a partition in the flash ROM of the remote access card (RAC) that the remote access card (RAC) emulates through a plug-and-play virtual media interface to the host or managed server as a USB key. These partitioned sectors in the flash ROM of the remote access card (RAC) may also be remotely accessible so that remote administrators may use this persistent virtual memory as a medium for exchange of data to the host or managed server, and the host or managed server may access or boot from these partitioned sectors even without a remote connection, since the virtual memory is persistent.
However, one problem is that even with wear-leveling, moderate to heavy usage of this persistent virtual memory feature will wear out the flash ROM of the remote access card (RAC) before the useful life of the remote access card (RAC) and/or resident server. In addition, a virus and/or a runaway process may quickly wear out the flash ROM of the remote access card (RAC) via excessive writes. For example, an accidental debug code left in production firmware may wear out the flash ROM of the remote access card (RAC) in the field after only about 7 months.
Another problem is that users and/or customers may have very different usages for this feature that may require a very large amount of memory, such as an entire operating system (OS), a full boot image, system diagnostics, backup firmware, basic input/output system (BIOS) images, and the like. Conventional remote access card (RAC)s may only afford about 8 megabytes (MB) of storage in the main flash ROM of the remote access card (RAC). However, 8 MB may not be enough for the wide variety of applications. Moreover, the useful life of a conventional remote access card (RAC) may be 8 years or so, and there are no conventional solutions that allow the persistent virtual storage to be scaled without burdening the base system cost and that do not result in prematurely failing remote access cards (RACs) when the flash ROMs of the remote access cards (RACs) wear out.